Media files may be presented to users via web pages of various web browsers. Web pages may be written in Hypertext Markup Language (HTML), where HTML may support many different coding formats of media files. For example, HTML5 supports an MP4 video container with MPEG4 coding format (e.g., H264 codec), which is a standard-codec that is used to process audio or video data, by web browsers. HTML5 media players may be embedded in a web page or as a stand-alone application that may be executed on the graphic user interface. Prior to the introduction of HTML5, a media file may be played on a web browser using an installed plug-in, such as Flash player, for example.
Media files may be created with a coding format, that is not supported by HTML5 players, such as with proprietary codecs, legacy codecs, or non-standard codecs, such as media files encoded with Nice Media Format (NMF). In some usage cases, such as with a customer call center, for example, a plurality of calls may be recorded and stored in media files in various audio and/or video formats in a database. In order to playback these format-incompatible files on a standard HTML5 media player in a web browser operating on client terminal, the media file must be transcoded to an MP4 format container for playback on an HTML5 media player.
In one usage scenario, a user at a client terminal may request to fetch a media file for streaming playback on an HTML5 media player, for example, that may be stored on a storage device at a remote location in an incompatible format. The system may be configured to fetch the file from the database, transcode the media file from the incompatible first format to the second format such as H264, compatible with HTML5 media players. From the time that the user activated the PLAY function (e.g., to initiate playback) on the HTML5 media player to the time that the user starts to see the video streaming on the HTML5 player, may take several minutes. This time delay is the time needed the time to transcode the entire media file container, depending on the format, video resolution, and video duration. This scenario may present the user with a bad user experience.
Thus, it may be desirable to have a media playback system whereby the media file in an incompatible format may be fetched from the database, and streamed for playback to the video player while concurrently transcoding the media file from the incompatible coding format to the format compatible with the media player.